package model

type Like struct {
	Id          uint32 `gorm:"column:id;type:int UNSIGNED;primaryKey;not null;" json:"id"`
	WorksId     int32  `gorm:"column:works_id;type:int;comment:作品id;not null;" json:"works_id"`              // 作品id
	GoodsNumber int32  `gorm:"column:goods_number;type:int;comment:点赞数量;not null;" json:"goods_number"`      // 点赞数量
	GoodsType   string `gorm:"column:goods_type;type:varchar(255);comment:点赞状态;not null;" json:"goods_type"` // 点赞状态
}

func (v *Like) TableName() string {
	return "like"
}

type Music struct {
	Id     uint32 `gorm:"column:id;type:int UNSIGNED;primaryKey;not null;" json:"id"`
	Author string `gorm:"column:author;type:varchar(50);default:NULL;" json:"author"`
	Music  string `gorm:"column:music;type:varchar(200);default:NULL;" json:"music"`
}

func (v *Music) TableName() string {
	return "music"
}

type Subjet struct {
	Id      uint32  `gorm:"column:id;type:int UNSIGNED;primaryKey;not null;" json:"id"`
	Subject string  `gorm:"column:subject;type:varchar(200);comment:话题;default:NULL;" json:"subject"` // 话题
	Hot     float64 `gorm:"column:hot;type:double;default:NULL;" json:"hot"`
}

func (v *Subjet) TableName() string {
	return "subjet"
}

type Works struct {
	Id             uint32 `gorm:"column:id;type:int UNSIGNED;primaryKey;not null;" json:"id"`
	PubUserId      int32  `gorm:"column:pub_user_id;type:int;comment:发布人;default:NULL;" json:"pub_user_id"`                  // 发布人
	WorksTitle     string `gorm:"column:works_title;type:varchar(50);comment:作品标题;default:NULL;" json:"works_title"`         // 作品标题
	WorksMusicId   int32  `gorm:"column:works_music_id;type:int;comment:作品音乐;default:NULL;" json:"works_music_id"`           // 作品音乐
	WorksImage     string `gorm:"column:works_image;type:varchar(250);comment:作品图片;default:NULL;" json:"works_image"`        // 作品图片
	WorksSubjectId int32  `gorm:"column:works_subject_id;type:int;comment:话题;default:NULL;" json:"works_subject_id"`         // 话题
	WorksType      int8   `gorm:"column:works_type;type:tinyint(1);comment:作品类型 1:图文 2： 视频;default:NULL;" json:"works_type"` // 作品类型 1:图文 2： 视频
	WorksExamine   string `gorm:"column:works_examine;type:varchar(255);comment:审核状态;default:NULL;" json:"works_examine"`    // 审核状态
}

func (v *Works) TableName() string {
	return "works"
}

type Comment struct {
	Id      uint32 `gorm:"column:id;type:int UNSIGNED;primaryKey;not null;" json:"id"`
	Context string `gorm:"column:context;type:varchar(255);default:NULL;" json:"context"`
	Userid  int32  `gorm:"column:userId;type:int;default:NULL;" json:"userId"`
	PadId   int32  `gorm:"column:pad_id;type:int;default:NULL;" json:"pad_id"`
}

func (v *Comment) TableName() string {
	return "comment"
}
